//index.js
//获取应用实例
const app = getApp()

Page({
    data: {
        // {
        //     name: "百年孤独",
        //     content: '测试'
        // }, {
        //     name: "瓦尔登湖",
        //     content: '测试'
        // }, {
        //     name: "呼啸山庄",
        //     content: '测试'
        // },{
        //     name: "人间失格",
        //     content: '测试'
        // }, {
        //     name: "灵魂有香气的女子",
        //     content: '测试'
        // }, {
        //     name: "红楼梦",
        //     content: '测试容'
        // }, {
        //     name: "哈姆雷特",
        //     content: '测试'
        // }, {
        //     name: "白鲸记",
        //     content: '这里是白鲸记的内容'
        // }, {
        //     name: "三国演义",
        //     content: '这里是三国演义的内容'
        // }, {
        //     name: "天才在左疯子在右",
        //     content: '这里是天才在左疯子在右的内容'
        // }, {
        //     name: "心理学",
        //     content: '这里是心理学的内容'
        // }, {
        //     name: "论语",
        //     content: '这里是论语的内容'
        // }
        allbooks: [],//全部书
        books: [
        ],//部分书
        step: 1,
        counterId: '',
        openid: '',
        count: null,
        queryResult: '',
        hiddenmodalput: true,
        bookid: ''
    },
    // 取消
    cancel: function(){
      this.setData({
        hiddenmodalput: true
      });
      // console.log('cancel')
    },
  
    //确认
    confirm: function(e){
      // console.log('this.data.inputSome',this.data.inputSome)
      // console.log('this.data.changeId',this.data.changeId)
      // console.log('this.data.itemList',this.data.itemList)
      // for(let item of this.data.itemList){
      //   if(item.id===this.data.changeId){
      //     item.content=this.data.inputSome
      //   }
      // }
      // this.data.itemList[this.data.changeId]=this.data.inputSome
      const db = wx.cloud.database()
      const that = this
      db.collection('books4').doc(this.data.bookid).update({
        data:{
          isInBookshelf:false
        },
        success:res=>{
          console.log(res)
          that.onQuery()
        },
        fail:err=>{
          wx.showToast({
            title: '查询记录失败',
          }),
          console.error('查询记录失败：',err)
        }
      })
      this.setData({
        // itemList: this.data.itemList,
        hiddenmodalput: true
      })
    },
    // 长按书本
    handleLongPress(e){
      console.log('handleLongPress',e)
      console.log('00052525')
      var bookname = e.currentTarget.dataset.bookname,
          bookid = e.currentTarget.dataset.bookid
      console.log('bookname',bookname)
      console.log('bookid',bookid)
      this.setData({
        // itemList: this.data.itemList,
        hiddenmodalput: false,
        bookid: e.currentTarget.dataset.bookid
      })
    },
    readBook: function(e) {
        console.log(e)
        var bookname = e.currentTarget.dataset.bookname,
            bookid = e.currentTarget.dataset.bookid
            // bookcontent = e.currentTarget.dataset.bookcontent;     //获取传递的值
        wx.navigateTo({
            url: "../introduction/introduction?title=" + bookname + '&id=' + bookid//传递参数
        });
    },
    addBook: function(e){
        wx.navigateTo({
            url: '../search/search?url=../index/index'
        })
        
    },

   
    // 获取数据库books数据【不受20条限制】
    onQuery:  function() {
        const db = wx.cloud.database()
        let total;
        db.collection('books4').where({
          _openid: 'this.data.openid' // 填入当前用户 openid
        }).count().then(res => {
          console.log("total01",res.total)
          total=res.total
          const batchTimes = Math.ceil(total / 20)
          console.log(batchTimes)   //获取需要获取几次 
          var arraypro=[]          // 定义空数据 用来存储之后的数据
          var allbooks=[]//全部书
          var books=[]//部分书
          var x=0 
          var that = this
          //初次循环获取云端数据库的分次数的promise数组
          for (let i = 0; i < batchTimes; i++) {
            console.log(i)
            db.collection('books4').skip(i*20).get({
              success: function (res) {
                x++
                console.log(res.data)
                
                for (let j = 0; j < res.data.length; j++) {
                  arraypro.push(res.data[j])
                }
                
                console.log(arraypro)
                console.log(x)
              
                //  这里必须注意微信小程序js中的for循环
                //  比如 for(i=0;i<5;i++)
                //  结果出来的i 是随机的 并不是c++中的 0 1 2 3 4
                //  可能是 1 2 4 0 3
                //  这里非常的坑
              
                if(x==batchTimes){
                  console.log("arraypro",arraypro)
                  for(let item of arraypro){
                    if(item.isInBookshelf===true)
                    books.push(item)
                  }
                  console.log("books",books)
                  // arraypro.forEach(item=>{
                  //   console.log("item",item)
                  //   if(item.isInBookshelf===ture){
                  //     books.push(item)
                  //   }
                  // })
                  console.log("books",books)
                  that.setData({
                  //  这里arraypro 就是的所有记录
                  //  把arraypro 赋给自己定义的变量即可 
                  allbooks:arraypro,
                  books

                  })
                  
                  console.log("allbooks",allbooks)
                }
              },
              fail: err=>{
                this.showToast({
                  icon: NamedNodeMap,
                  title: "查询数据错误"
                })
                console.error('[数据库] [查询记录] 失败：', err)
              }
            })
          }
        })

        // // 查询当前用户所有的 counters
        // db.collection('books4').where({
        //   _openid: this.data.openid
        // }).get({
        //   success: res => {
        //     this.setData({
        //     //   queryResult: JSON.stringify(res.data, null, 2),
        //       books:res.data
        //     //   books: JSON.stringify(res.data, null, 2)
        //     })
        //     console.log(this.data.books)
        //     console.log('[数据库] [查询记录] 成功: ', res.data)
        //     console.log("111",this.data.books.length)
        //     // for(let i in this.data.books){
        //     //         console.log("000",i)
        //     // }
        //   },
        //   fail: err => {
        //     wx.showToast({
        //       icon: 'none',
        //       title: '查询记录失败'
        //     })
        //     console.error('[数据库] [查询记录] 失败：', err)
        //   }
        // })
        
    },
    // 第一次进入该页面会执行onload
    onLoad: function() {
        if (app.globalData.openid) {
            this.setData({
              openid: app.globalData.openid
            })
          }
        this.onQuery()
        console.log("this.data.titles--index",this.data.books)
    },
    // 切换进该页面都会执行onshow
    onShow:function(){
        this.onQuery()
    },
    /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
    onPullDownRefresh: function () {
        wx.stopPullDownRefresh();
    }
})